package com.zjcloud.framework.config;

import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;

/**
 * 国际化消息资源配置
 * 
 * @author zjcloud
 */
@Configuration
public class MessageSourceConfig {

    /**
     * 配置国际化资源文件
     */
    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        // 指定国际化资源文件路径
        messageSource.setBasename("classpath:i18n/messages");
        // 指定编码
        messageSource.setDefaultEncoding("UTF-8");
        // 设置缓存时间为-1，实现热加载（开发环境）
        // 在生产环境中可以设置为正值以提高性能
        messageSource.setCacheSeconds(-1);
        // 启用文件系统检查，支持热加载
        messageSource.setCacheMillis(-1L);
        return messageSource;
    }
}